package cn.wuyu.baselibrary.net.rx;

/**
 * 酒店机票相关异常
 */
public class OnNextExceptionHandle {

	/**
	 * if (e instanceof ConnectTimeoutException) {
	 ae = new HttpException("连接超时", ERROR.TIMEOUT_ERROR);
	 } else

	 */
//	public static HttpException handleException(Throwable e) {
//		HttpException ae = null;
//		if (e instanceof HttpException) {
//			HttpException httpException = (HttpException) e;
//			ae = new HttpException("网络错误", ERROR.NETWORD_ERROR);
//		} else if (e instanceof JsonParseException
//				|| e instanceof JSONException
//				|| e instanceof ParseException) {
//			ae = new HttpException("解析错误", ERROR.PARSE_ERROR);
//		} else if (e instanceof ConnectException) {
//			ae = new HttpException("连接失败", ERROR.NETWORD_ERROR);
//		} else if (e instanceof javax.net.ssl.SSLHandshakeException) {
//			ae = new HttpException("证书验证失败", ERROR.SSL_ERROR);
//		} else  if (e instanceof java.net.SocketTimeoutException) {
//			ae = new HttpException("连接超时", ERROR.TIMEOUT_ERROR);
//		} else if (e instanceof java.net.UnknownHostException) {
//			ae = new HttpException("无法连接服务器", ERROR.UNKNOWN_HOST);
//		} else if (e instanceof HttpException) {//协议错误（自定义错误）
//			ae = (HttpException) e;
//		} else {
//			ae = new HttpException("未知错误", ERROR.UNKNOWN);
//		}
//		return ae;
//	}
//
//
//	/**
//	 * 约定异常
//	 */
//	class ERROR {
//		/**
//		 * 未知错误
//		 */
//		public static final String UNKNOWN = "100000";
//		/**
//		 * 解析错误
//		 */
//		public static final String PARSE_ERROR = "100001";
//		/**
//		 * 网络错误
//		 */
//		public static final String NETWORD_ERROR = "100002";
//		/**
//		 * 协议出错
//		 */
//		public static final String HTTP_ERROR = "100003";
//
//		/**
//		 * 证书出错
//		 */
//		public static final String SSL_ERROR = "100005";
//
//		/**
//		 * 连接超时
//		 */
//		public static final String TIMEOUT_ERROR = "100006";
//		/**
//		 * 无法连接到服务器
//		 */
//		public static final String UNKNOWN_HOST = "100007";
//	}


//	public static class HttpResponseFunc<T> implements Funct<Throwable, Observable<T>> {
//		@Override
//		public Observable<T> apply(Throwable throwable) throws Exception {
//			return Observable.error(ExceptionHandle.handleException(throwable));
//		}
//	}
}
